<?php
function createTableHeader($color, $bbcode, $selecteren, $wijzigen, $verwijderen, $aanwezigheidZichtbaar, $aanwezigheidSelecteren, $aflasten, $compact, $aantalKolommen)
{
	echo "<table class='content center_align padding' cellspacing='0'>
		<thead>
			<tr ".($color ? "class='normaal'" : "class='normaal alternate'").">";
			if(isset($selecteren)) {			echo "<th class='col_selecteren'>&nbsp;</th>";}
			//if(isset($wijzigen)) {				echo "<th class='col_wijzigen'>&nbsp;</th>";}
			//if(isset($verwijderen)) {			echo "<th class='col_verwijderen'>&nbsp;</th>";}
			if(isset($aanwezigheidZichtbaar)) {	echo "<th class='col_aanwezigheid'>&nbsp;</th>";}
			if(isset($aanwezigheidSelecteren)) {echo "<th class='col_aanwezigheid_selecteren'>&nbsp;</th>";}
			if(isset($aflasten)) {				echo "<th class='col_aflasten'>&nbsp;</th><th class='col_aflasten'>&nbsp;</th><th class='col_aflasten'>&nbsp;</th>";}
			
			/*if(empty($compact)) {				echo "<th class='col_dag'>Dag</th>";}*/
			echo "<th class='".($aantalKolommen >= 11 ? "col_datum_small" : "col_datum")."'>Datum</th>";
			echo "<th class='col_tijd'>Tijd</th>";
			//if(empty($compact)) {				echo "<th class='col_wedstrijdcode'>Code</th>";}
			echo "<th class='col_tegenstander'>Tegenstander</th>";
			echo "<th class='col_waar'>Waar</th>";
			if(empty($compact)) {
				if(isset($bbcode)) {	echo "<th class='col_info' colspan='2'>Info</th>";}
				else {					echo "<th class='col_aflasting'>Info</th>";}
			}
			echo "</tr>
	</thead>
	<tbody>";
}

function set_wedstrijd_tabel($con, $result, $eerstVolgendeWedstrijd, $soortWedstrijdWeergeven, $bbcode=null, $selecteren=null, $wijzigen=null, $verwijderen=null, $aanwezigheidZichtbaar=null, $aanwezigheidSelecteren=null, $aflasten=null, $compact=null)
{
	$color = true;
	
	//$maand = 0;
	$first_content_row = true;		//Als de eerste rij van de content geweest is, wordt deze op false gezet. Deze is nodig om de eerste rij onder de TH een class toe te wijzen, zodat de top-border eventueel verwijderd kan worden
	$aantalKolommen = 7 + isset($bbcode) + isset($selecteren) + isset($wijzigen) + isset($verwijderen) + isset($aanwezigheidZichtbaar) + (isset($aanwezigheidSelecteren)) + (isset($aflasten) * 3);
	$oefenwedstrijd = 3;
	$huidige_team = null;
	$beide_afgelast= false;

	//DE RIJEN OPHALEN UIT DE QUERY OF KOPIEREN VAN DE RESULT VARIABELE
	if(is_array($result)) {
		$rows = $result;
	}else if($result <> null && $result->rowCount() > 0) {
		$rows = $result->fetchAll(PDO::FETCH_ASSOC);
	}else {
		$rows = null;
	}
	
	for($row_index = 0; $row_index < count($rows); $row_index++)
	{
		$row = $rows[$row_index];
		//Geef de row waardes zodat er geen dubbele slash in voor kan komen en dat de quotes geen last veroorzaken
		foreach(array_keys($row) as $field) {if(!empty($row[$field])) {$row[$field] = htmlentities($row[$field], ENT_QUOTES);}}
		
		$row2 = null;
		$color ? $color = false : $color = true;
		
		$dubbel_uitvoeren = false;
		$beide_afgelast = false;
		if($row['teamId'] <> $huidige_team) {
			//Controleer of er al een tabel aangemaakt is, zo ja sluit eerst die tabel af
			if($huidige_team <> null) {
				echo "</tbody></table><br>";
			}
			$color = true;
			createTableHeader($color, $bbcode, $selecteren, $wijzigen, $verwijderen, $aanwezigheidZichtbaar, $aanwezigheidSelecteren, $aflasten, $compact, $aantalKolommen);
			$huidige_team = $row['teamId'];
		}

		//controleer of het wel om een dubbel gaat (de volgende wedstrijd moet binnen 2:01 uur worden gespeeld ten opzichte van de vorige)
		if(isset($row['dubbelMet'])) {
			if($row_index + 1 < count($rows)) {
				$row2 = $rows[$row_index + 1];
				//wedstrijdId, tegenstander, waar
				if($row['wedstrijdId'] == $row2['dubbelMet'] && $row['tegenstander'] == $row2['tegenstander'] && $row['waar'] == $row2['waar']) {
					$dubbel_uitvoeren = true;
				}
				//Controleer of beide wedstrijden zijn afgelast of verregend (enkel als de score van beide wedstrijden nog niet is ingevuld
				if($row['thuisscore'] == 99 && $row['uitscore'] == 99 && $row2['thuisscore'] == 99 && $row2['uitscore'] == 99
						&& (($row['afgelast'] == '1' && $row2['afgelast']) || ($row['verregend'] == '1' && $row2['verregend']))) {
					$beide_afgelast = true;
				}
			}
		}

		if($soortWedstrijdWeergeven && (($row['oefenwedstrijd'] == '0' && $row['toernooi'] == '0' && $oefenwedstrijd <> 0) || ($row['oefenwedstrijd'] == '1' && $row['toernooi'] == '0' && $oefenwedstrijd <> 1) || ($row['toernooi'] == '1' && $oefenwedstrijd <> 2))) {
			//Wisselen van oefenwedstrijd naar competitiewedstrijd of het is de eerste in de reeks van oefenwedstrijden
			if($row['toernooi'] == '1') {
				//Geef toernooinaam weer
				echo "<tr class='".($color ? "klein" : "klein alternate").($first_content_row ? " first_content_row" : "")."'>";
				echo "<td class='title no_hover' colspan='".$aantalKolommen."'>Toernooien</td></tr>";
				$oefenwedstrijd = 2;
				$color ? $color = false : $color = true;
				$first_content_row = false;
			}else if($row['oefenwedstrijd'] == '1') {
				//Geef oefenwedstrijd weer
				echo "<tr class='".($color ? "klein" : "klein alternate").($first_content_row ? " first_content_row" : "")."'>";
				echo "<td class='title no_hover' colspan='".$aantalKolommen."'>Oefenwedstrijden</td></tr>";
				$oefenwedstrijd = 1;
				$color ? $color = false : $color = true;
				$first_content_row = false;
			}else {
				//Geef competitiewedstrijd weer
				echo "<tr class='".($color ? "klein" : "klein alternate").($first_content_row ? " first_content_row" : "")."'>";
				echo "<td class='title no_hover' colspan='".$aantalKolommen."'>Competitiewedstrijden</td></tr>";
				$oefenwedstrijd = 0;
				$color ? $color = false : $color = true;
				$first_content_row = false;
			}
		}
		
		// NIEUWE RIJ AANMAKEN
		echo "<tr id='W".$row['wedstrijdId']."' class='".($dubbel_uitvoeren ? "groot" : "normaal").($first_content_row ? " first_content_row" : "").($eerstVolgendeWedstrijd == $row['wedstrijdId'] ? " highlight" : ($color ? " alternate" : ""))."'>";
		$first_content_row = false;

		if(isset($selecteren)) {			echo "<td>".(is_string($selecteren) ? "<a href='".$selecteren."id=".$row['wedstrijdId']."'>" : "")."<img class='popup_trigger' style='cursor:pointer; vertical-align:middle;' src='/images/icons/pijl_rechts.png' rel='".$row['wedstrijdId']."'>".(is_string($selecteren) ? "</a>" : "")."</td>";}
		//if(isset($wijzigen)) {				echo "<td><img class='popup_trigger_wijzigen' style='cursor:pointer; vertical-align:middle;' src='/images/icons/wijzigen.png' rel='".$row['wedstrijdId']."'></td>";}
		//if(isset($verwijderen)) {			echo "<td><img class='popup_trigger_verwijderen' style='cursor:pointer; vertical-align:middle;' src='/images/icons/verwijderen.png' rel='".$row['wedstrijdId']."'></td>";}
		if(isset($aanwezigheidZichtbaar)) {	echo "<td><span class='icon_font'>".(empty($row['afwezig']) || $row['afwezig'] == '1' ? "&#x44;" : ($row['afwezig'] == '2' ? "&#x48;" : "&#x46;"))."'></span></td>";}
		if(isset($aanwezigheidSelecteren)) {
			//echo "<td class='popup_trigger selecteerbaar ".(empty($row['afwezig']) || $row['afwezig'] == '1' ? (isset($row['reden']) ? "tooltip aanwezig_en_info" : "aanwezig") : ($row['afwezig'] == '2' ? "tooltip onbekend" : (isset($row['reden']) ? "tooltip afwezig_en_info" : "afwezig")))."' rel='w".$row['wedstrijdId']."'".(isset($row['reden']) || (isset($row['afwezig']) && $row['afwezig'] == '2') ? (empty($row['reden']) ? " title='Geen reden opgegeven.'" : " title='".$row['reden']."'") : "").">&nbsp;</td>";
			echo "<td><span class='icon_font in_table selectable ".(isset($row['reden']) ? "dark_font" : "light_font")."'".(isset($row['reden']) ? " rel='".$row['reden']."'" : "").">".(empty($row['afwezig']) || $row['afwezig'] == '1' ? "&#x44;" : ($row['afwezig'] == '2' ? "&#x48;" : "&#x46;"))."</span></td>";
		}
		//echo "<td ".($dubbel_uitvoeren == false ? "rowspan='2'" : "")."><img ".(isset($row['vakantieId']) || (isset($row['soort']) && $row['soort'] == '1') ? "src='/afbeeldingen/icons/rood_rondje.png'" : ((isset($row['soort']) && $row['soort'] == '2') ? "src='/afbeeldingen/icons/klein_groen_rondje.png'" : "src='/afbeeldingen/icons/rood_rondje_geselecteerd.png'"))." alt=''></td>";}
		if(isset($aflasten)) {echo "<td class='trigger'><a href='./aflasten.php?team=".$_GET['team']."&aflasten=0&wedstrijdId=".$row['wedstrijdId']."'><img class='groot_icon' style='cursor:pointer; vertical-align:middle;' src='/images/icons/verwijderen.png' alt='".$row['wedstrijdId']."'></a></td>";}
		if(isset($aflasten)) {echo "<td class='trigger'><a href='./aflasten.php?team=".$_GET['team']."&aflasten=1&wedstrijdId=".$row['wedstrijdId']."'><img class='groot_icon' style='cursor:pointer; vertical-align:middle; height: 1.2em;' src='/images/icons/cancel.png' alt='".$row['wedstrijdId']."'></a></td>";}
		if(isset($aflasten)) {echo "<td class='trigger'><a href='./aflasten.php?team=".$_GET['team']."&aflasten=2&wedstrijdId=".$row['wedstrijdId']."'><img class='groot_icon' style='cursor:pointer; vertical-align:middle; height: 1.2em;' src='/images/icons/verregend.png' alt='".$row['wedstrijdId']."'></a></td>";}

		// DAG
		//echo "<td class='col_datum'><div class='table_selecter".(isset($wijzigen) ? " table_dubbel_selecter" : "")." icon_font'>".(isset($wijzigen) ? "<a href='/schema/wijzigen.php?id=".$row['wedstrijdId']."'>&#x23;</a>" : "")."<a href='/schema/info.php?id=".$row['wedstrijdId']."'>&#x41;</a></div><span class='table_selecter_td'>".getDagWeekString(date('w', strtotime($row['datum'])), true).". ".date('d-m', strtotime($row['datum']))."</span></td>";
		echo "<td class='col_datum'><div class='table_selecter".(empty($wijzigen) ? "" : " table_dubbel_selecter")." icon_font'>".(empty($wijzigen) ? "" : "<a href='/schema/wijzigen.php?id=".$row['wedstrijdId']."'>&#x23;</a>")."<a href='/schema/info.php?id=".$row['wedstrijdId']."'>&#x41;</a></div><span class='table_selecter_td'>".getDagWeekString(date('w', strtotime($row['datum'])), true).". ".date('d-m', strtotime($row['datum']))."</span></td>";

		// TIJD
		echo "<td class='left_border'>".date('H:i', strtotime($row['datum'])).($dubbel_uitvoeren ? "<br>".date('H:i', strtotime($row2['datum'])) : "")."</td>";		

		// TEGENSTANDER EN LOCATIE
		echo "<td class='col_tegenstander'><p class='ellipsis'>".$row['tegenstander'].(empty($row['tegenstanderNmr']) ? "" : " <span class='tegenstanderNmr'>".$row['tegenstanderNmr']."</span>")."</p></td>";
		echo "<td>".($row['waar'] == 1 ? 'Thuis' : 'Uit')."</td>";
		
		// OPMERKING EN INFO
		if(isset($row['bericht'])) {
			//Er is een bericht geschreven en laat eventueel de verzameltijd zien
			echo "<td class='tooltip col_info' title='".$bbcode->parse($row['bericht'])."'>";
			echo "<span class='icon_font in_table'>".(empty($row['symbool']) ? "&#x3c;" : "&#x3d;")."</span></td>";
		}else {
			//Er is geen bericht geschreven
			echo "<td class='col_info'>&nbsp;</td>";
		}
			
		// AFGELASTING EN UITSLAG
		if($beide_afgelast && $dubbel_uitvoeren) {
			echo "<td class='col_aflasting'><span class='icon_font in_table icon_big'>".($row['verregend'] == '1' ? "&#x40;" : "&#x3b;")."</span></td>";
		}else {
			if($row['thuisscore'] < 99 && $row['uitscore'] < 99) {
				echo "<td class='col_aflasting ".($row['thuisscore'] == $row['uitscore'] ? "gelijk" : (($row['waar'] == 1 && $row['thuisscore'] > $row['uitscore']) || ($row['waar'] == 0 && $row['uitscore'] > $row['thuisscore']) ? "gewonnen" : "verloren"))."'>".$row['thuisscore']."-".$row['uitscore']."</td>";
			}else {
				echo "<td class='col_aflasting'>".($row['verregend'] == 1 || $row['afgelast'] == 1 ? "<span class='icon_font in_table icon_big'>".($row['verregend'] == 1 ? "&#x40;" : "&#x3b;")."</span>" : "&nbsp;")."</td>";
			}
		}
		echo "</tr>";
		
		//Als de vorige wedstrijd een dubbel was, wordt de volgende rij overgeslagen. (zowel bij toernooien als bij competitiewedstrijden)
		if($dubbel_uitvoeren == true){
			$row_index++;
		}
	}
	echo "</table>";
}